package com.anyou.mall.fin.mapper;

import java.util.List;
import com.anyou.mall.fin.domain.PlatformReconciliation;
import com.anyou.mall.fin.vo.GetTotalVo;
import com.anyou.mall.fin.vo.TrendChartVo;
import com.anyou.mall.index.param.OrderNumParam;
import com.anyou.mall.index.vo.ShopOrderMoneyVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

/**
 * 平台对账Mapper接口
 *
 * @author gaochaohao
 * @date 2022-04-19
 */
public interface PlatformReconciliationMapper extends BaseMapper<PlatformReconciliation>
{
    /**
     * 查询平台对账
     *
     * @param platformReconciliationId 平台对账主键
     * @return 平台对账
     */
    public PlatformReconciliation selectPlatformReconciliationByPlatformReconciliationId(Long platformReconciliationId);

    /**
     * 查询平台对账列表
     *
     * @param platformReconciliation 平台对账
     * @return 平台对账集合
     */
    public List<PlatformReconciliation> selectPlatformReconciliationList(PlatformReconciliation platformReconciliation);

    /**
     * 新增平台对账
     *
     * @param platformReconciliation 平台对账
     * @return 结果
     */
    public int insertPlatformReconciliation(PlatformReconciliation platformReconciliation);

    /**
     * 修改平台对账
     *
     * @param platformReconciliation 平台对账
     * @return 结果
     */
    public int updatePlatformReconciliation(PlatformReconciliation platformReconciliation);

    /**
     * 删除平台对账
     *
     * @param platformReconciliationId 平台对账主键
     * @return 结果
     */
    public int deletePlatformReconciliationByPlatformReconciliationId(Long platformReconciliationId);

    /**
     * 批量删除平台对账
     *
     * @param platformReconciliationIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePlatformReconciliationByPlatformReconciliationIds(Long[] platformReconciliationIds);

    /**
     * 获取平台资金总金额
     * @return
     */
    GetTotalVo getTotal();

    /**
     * 获取平台资昨日收支金额
     * @return
     */
    GetTotalVo getComeTotal(@Param("startTime") String startTime, @Param("endTime")String endTime);

    /**
     * 获取平台资金池趋势图数据
     * @param selectTime
     * @return
     */
    List<TrendChartVo> getTrendChart(String selectTime);

    /**
     * 查询总入账,总抽拥,总出账
     * @param carPartsShopId
     * @return
     */
    ShopOrderMoneyVo selectShopOrderMoneyVo(@Param("carPartsShopId") Long carPartsShopId);

    /**
     * 平台收入走势拆线图(按日查)
     * @param orderNumParam
     * @return
     */
    List<ShopOrderMoneyVo> selectShopOrderMoneyVo2(@Param("orderNumParam")OrderNumParam orderNumParam);

    /**
     * 订单分析拆线走势图（按月查）
     * @param orderNumParam
     * @return
     */
    List<ShopOrderMoneyVo> selectShopOrderMoneyVo3(@Param("orderNumParam")OrderNumParam orderNumParam);
}
